package com.caidan.search.service;

import com.caidan.common.result.Result;
import com.caidan.model.domain.user.User;
import com.caidan.model.dto.user.UserLoginDTO;
import com.caidan.model.dto.user.UserRegisterDTO;
import com.caidan.model.dto.user.UserUpdateDTO;
import com.caidan.model.vo.user.UserVo;

/**
 * @项目名 CaiDanSearchSystem
 * @描述 用户接口
 * @作者 小菜蛋
 * @时间 2024/12/1 19:55
 */
public interface UserService {

    /***
     * 用户登录
     * @param userLoginDTO
     * @return
     */
    Result<String> userLogin(UserLoginDTO userLoginDTO);

    /**
     * 用户注册接口
     * @param userRegisterDTO
     * @return
     */
    Result<String> userRegister(UserRegisterDTO userRegisterDTO);

    /***
     * 根据ID获取用户信息
     * @param id
     * @return
     */
    Result<UserVo> getUserVoMessage(Long id);

    /***
     * 用户信息更新
     * @param userId
     * @param userUpdateDTO
     * @return
     */
    Result updateUserMessage(Long userId , UserUpdateDTO userUpdateDTO);

    /**
     * 用户信息删除
     * @param id
     * @return
     */
    Result deleteUserMessage(Long id);

    /**
     * 用户信息更新
     * @param url
     * @return
     */
    Result updateSystemImg(String url);
}
